/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projovem.relatorios.sintesesupervisao;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Locale;
import javax.persistence.EntityManagerFactory;
import projovem.dao.NucleoDAO;
import projovem.relatorios.sintesesupervisao.vo.CeRotina003SinteseSupervisaoVo;
import projovem.rotinas.CE.R003.CeRotina003;

/**
 *
 * @author admprojovem
 */
public class SinteseSupervisaoCeRotina003 implements Serializable {

    private NucleoDAO nucleoDao = new NucleoDAO();
    private CeRotina003SinteseSupervisaoVo contagem = new CeRotina003SinteseSupervisaoVo();

    public CeRotina003SinteseSupervisaoVo gerarRelatorio(String coordenacaoEscolhida, String entradaEscolhida, String observacaoEscolhida, String municipioEscolhida,  EntityManagerFactory emf) {

        List<CeRotina003> listaCeRotina003 = nucleoDao.obtemNucleosByCoordenacaoAndEntradaAndCeRotina003(coordenacaoEscolhida, entradaEscolhida, observacaoEscolhida, municipioEscolhida, emf);
        contagem.setListaCeRotina003(listaCeRotina003);


        for (CeRotina003 rotina : listaCeRotina003) {

            if (rotina.getQ2() != null && rotina.getQ2().equals("nao")) {
                contagem.setQ2nao(contagem.getQ2nao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ5() != null && rotina.getQ5().equals("nenhuma")) {
                contagem.setQ5d(contagem.getQ5d() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ6() != null && rotina.getQ6().equals("nao")) {
                contagem.setQ6nao(contagem.getQ6nao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ8() != null && rotina.getQ8().equals("nao")) {
                contagem.setQ8nao(contagem.getQ8nao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
        }

/*        Integer totalElementos = listaCeRotina003.size();

        if (contagem.getQ2nao() != null && contagem.getQ2nao() != 0) {
            contagem.setQ2nao((contagem.getQ2nao() * 100) / totalElementos);
        }

        if (contagem.getQ5d() != null && contagem.getQ5d() != 0) {
            contagem.setQ5d((contagem.getQ5d() * 100) / totalElementos);
        }

        if (contagem.getQ6nao() != null && contagem.getQ6nao() != 0) {
            contagem.setQ6nao((contagem.getQ6nao() * 100) / totalElementos);
        }

        if (contagem.getQ8nao() != null && contagem.getQ8nao() != 0) {
            contagem.setQ8nao((contagem.getQ8nao() * 100) / totalElementos);
        }*/

        Locale locale = new Locale("pt", "BR");
        GregorianCalendar calendar = new GregorianCalendar();
        SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy' - 'HH':'mm'h'", locale);
        contagem.setDataatual(formatador.format(calendar.getTime()));
        System.out.println(formatador.format(calendar.getTime()));
        return contagem;
    }
}
